<template>
  <div>
    <div class="banner"
         @click="handleBannerClick">
      <img class="banner-img"
           :src="bannerImg"
           alt="">
      <div class="banner-info">
        <p class="banner-title">{{this.sightName}}</p>
        <div class="banner-number">
          <svg class="icon"
               aria-hidden="true">
            <use xlink:href="#icon-picfill"></use>
          </svg>{{this.gallaryImgs.length}}</div>
      </div>
    </div>
    <fade-animation>
      <common-gallary :imgs="gallaryImgs"
                      v-show="showGallary"
                      @close='handleGallaryClose'></common-gallary>
    </fade-animation>
  </div>
</template>

<script>
import CommonGallary from '@common/gallary/Gallary'
import FadeAnimation from '@common/fade/FadeAnimation'
export default {
  name: 'DetailBanner',
  props: {
    sightName: String,
    bannerImg: String,
    gallaryImgs: Array
  },
  data () {
    return {
      showGallary: false
    }
  },
  components: {
    CommonGallary,
    FadeAnimation
  },
  methods: {
    handleBannerClick () {
      this.showGallary = true
    },
    handleGallaryClose () {
      this.showGallary = false
    }
  }
}
</script>

<style lang='scss' scoped>
.banner {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-bottom: 55%;
}
.banner-img {
  width: 100%;
}
.banner-info {
  display: flex;
  align-items: center;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  line-height: 0.6rem;
  color: #fff;
  background-image: linear-gradient(top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
}
.banner-title {
  flex: 1;
  font-size: 0.32rem;
  padding: 0 0.2rem;
}
.banner-number {
  margin-right: 0.2rem;
  padding: 0 0.2rem;
  height: 0.32rem;
  line-height: 0.32rem;
  border-radius: 0.2rem;
  background-color: rgba(0, 0, 0, 0.8);
  font-size: 0.24rem;
  .icon {
    font-size: 0.24rem;
    margin-right: 0.05rem;
  }
}
</style>
